package com.addplus.townmall.server.api.model.town;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;

import com.addplus.townmall.server.api.model.base.BaseRestModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 优惠卷
 * </p>
 *
 * @author zhangjiehang
 * @since 2018-10-31
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class Coupon extends BaseRestModel {

    private static final long serialVersionUID = 1L;

    /**
     * 优惠券封面
     */
    private String integralCover;

    /**
     * 优惠券名称
     */
    private String couponName;

    /**
     * 优惠券描述
     */
    private String couponDescribe;

    /**
     * 店铺主键id
     */
    private Integer storeId;

    /**
     * 优惠券类型(0:平台通用 1:店铺优惠券 2:自营产品优惠券)
     */
    private Integer couponType;

    /**
     * 优惠券类型(1:折扣 2:满减 3:免邮卷)
     */
    private Integer discountType;

    /**
     * 最低消费金额
     */
    private BigDecimal minPrice;

    /**
     * 优惠金额
     */
    private BigDecimal subPrice;

    /**
     * 折扣率
     */
    private BigDecimal discount;

    /**
     * 到期类型：1=领取后N天过期，2=指定有效期
     */
    private Integer expireType;

    /**
     * 有效天数，expire_type=1时
     */
    private Integer expireDay;

    /**
     * 有效期开始时间
     */
    private Date beginTime;

    /**
     * 有效期结束时间
     */
    private Date endTime;

    /**
     * 每人限制兑换数量
     */
    private Integer userNum;

    /**
     * 领取数量
     */
    private Integer receiveNum;

    /**
     * 发放总数量
     */
    private Integer totalCount;

    /**
     * 显示位置(1:领劵中心 2:积分商城 3:店铺商品)
     */
    private Integer showLocation;
    /**
     * 兑换需要积分数量
     */
    private Integer integral;

    /**
     * 可用类别(以逗号分隔)
     */
    private String platformCategoryIdList;

    /**
     * 可用商品(以逗号分隔)
     */
    private String goodsIdList;

    /**
     * 上架状态(0:否 1:是)
     */
    private Integer onlineStatus;

    /**
     * 备注
     */
    private String remark;

    /**
     * 是否删除(0:否 1:是)
     */
    private Integer isDelete;

    /**
     * 排序数字越小越在前
     */
    private Integer sort;

    /**
     * 修改人
     */
    private Integer modifyUser;


}
